#include "ct.client.h"
#include "ct.rpc.h"


#include "../Headers/types.h"

#include <string>
#include <vector>
#include <map>

namespace TOB {
  namespace CT {
    
    class Server {
    private:
      static Server* instance;
      Server();
    public:
      Server* getInstance();
      Code::Type connectNewUser(Userdata& user);
      Code::Type dissconnectUser(Userdata& user);
      Code::Type sendMesage(SendMessage& msg);
      
      std::map<std::string, std::vector<GetMessage> > stackMsg;
      std::map<std::string, std::vector<CharEvent::Type> > stackEvent;
      std::map<int, std::vector<RPCUser> > stackUpdateUser;
      
      std::vector<GetMessage> stackLog;
    };
  }
}
